# # 错误的示范（数据类型错误）
# Shawn = 13312345678 # 将整型赋值给变量
# Shirley = 18087654321 # 将整型赋值给变量
#
# print("Shawn的手机号码为：" + Shawn) # 报错
# print("Shirley的手机号码为：" + Shirley) # 报错


# # 正确的示范1（数据类型正确）
# Shawn = str(13312345678) # 将整型赋值给变量
# Shirley = str(18087654321) # 将整型赋值给变量
#
# print("Shawn的手机号码为：" + Shawn) # 正常运行
# print("Shirley的手机号码为：" + Shirley) # 正常运行


# # 正确的示范2（数据类型正确）
# Shawn = 13312345678 # 将整型赋值给变量
# Shirley = 18087654321 # 将整型赋值给变量
#
# print("Shawn的手机号码为：" + str(Shawn)) # 正常运行
# print("Shirley的手机号码为：" + str(Shirley)) # 正常运行


# # 正确的示范3（数据类型正确）
# Shawn = "13312345678" # 将整型赋值给变量
# Shirley = "18087654321" # 将整型赋值给变量
#
# print("Shawn的手机号码为：" + Shawn) # 正常运行
# print("Shirley的手机号码为：" + Shirley) # 正常运行

# # 错误示范（数据类型不匹配）
# Shawn = 13312345678 # 将整型赋值给变量
# Shirley = 18087654321 # 将整型赋值给变量
# print("Shawn") # 报错
# print("Shirley") # 报错
#
# print(HuGe) # 报错
# HuGe = 123 # 错误示范，赋值应该在引用操作的前面。

# Shawn = 13312345678 # 将整型赋值给变量
# print(id(Shawn)) # 打印变量Shawn的内存地址
# HuGe = Shawn # 重新赋值给一个新的变量
# print(id(HuGe)) # 两个变量的id相同，说明指向同一个内存地址
# HU = HuGe # 重新赋值给一个新的变量
# print(id(HU)) # 两个变量的id相同，说明指向同一个内存地址

# print(HU)

# del Shawn # 删除变量
# print(HU) # 正常运行

# # 证明del的作用
# a = 123
# del a # 删除变量del就是delete的缩写
# print(a) # 非正常运行

# 胡歌 = 133123456789 # 将整型赋值给中文变量名
# print(胡歌) # 正常运行，但是并不建议使用中文字符作为变量名

# # 变量的命名规则
# # 1. 区分大小写。
# wdg = 666
# WDG = 888
# print(wdg) # 正常运行
# print(WDG) # 正常运行

# ShawnHolmesHu@icloud.com
#
# SHAWNHOLMESHU@ICLOUD.COM
#
# shawnholmeshu@icloud.com

# # 2. 变量名可以包含字母、数字和下划线，但是不能以数字开头。
# hu = 666
# hu2 = 888
# hu3 = 999
# hu_ = 777
# hu3_ = 999
# hu_3 = 111
#
# _hu = 555
# hu_3_ = 222
#
# 3hu = 222 # 报错
# _3hu = 222 #
# hu@ = 222 # 报错
# hu- = 222 # 报错
# hu* = 222 # 报错

# 3. 变量名不能是Python的关键字。
# del = 13312345678 # 将整型赋值给名为del的变量
# print(if) # 报错，变量名与内置函数冲突

# 胡歌的建议方法，如何避免与某些函数冲突
# dr_del = 13312345678
# print(dr_del)
#
# dr_mute = 000
#
#
# print(dr_del)

# help()

# # 4. 变量名不能包含空格
# hu ge = 666 # 报错
# hu_ge = 666 # 正常

# # 5. 变量名不能是内置函数
# # 同上
# dr_type = type("hello")
# print(dr_type)

# # 6. 变量名要有意义——"见名知意"
# a = "胡歌" # 不推荐
# b = 18 # 不推荐
# c = "79111111@.qq.com" # 不推荐

# name = "胡歌" # 推荐
# age = 18 # 推荐
# email = "79111111@.qq.com" # 推荐

# # 链式赋值
# name, sex, age, phone = "胡歌", "男", 18, "13312345678" # 多个变量同时赋值
# print(name, sex, age, phone)

# 模块的包的命名（小写，单词之间用下划线）
wendaoge_python = 666
wendaoge = 666
# 函数的命名（小写，单词之间用下划线）
def wendaoge_python():
    pass

def wendaoge():
    pass
# 类的命名（首字母大写）
class Wendaoge:
    pass

class WendaogePython:
    pass
# 常量的命名（全部大写，单词之间用下划线）
PI = 3.1415926
MAX_SPEED = 240

# 普通变量的命名，一般也是（小写，单词之间用下划线）
dr_name = "胡歌"
dr_age = 18

# # 大驼峰命名法
# MyName
#
# # 小驼峰命名法
# myName
# 蛇形命名法
# my_name

# 举例，为何Python中没有真正意义上的常亮
MAX_SPEED = 240
MAX_SPEED = 300 # 重新赋值，Python中并没有真正意义上的常量
print(MAX_SPEED)











